2023a 第09回:プログラミング入門
前回授業の振り返り
アクセス権限の管理
chmod 600 ./ssh_key
Ownerが… 6 = 4+2+0 = 110 = Read, Write
Groupが…0 = 0+0+0 = 000 = なし
Otherが…0 = 0+0+0 = 000 = なし
ssh_keyを「所有者自身だけが読み書きできるように」
誰が x 何を出来るか
ファイルの権限が 755 ならば…
左から順に
Ownerは 7(10) = 111(2) = 読めて、書けて、実行できる
Groupは 5(10) = 110(2) = 読めて、書ける
Otherは 5(10) = 110(2) = 読めて、かける
を意味する
digest認証の仕組み
https://gyazo.com/d4a01948b40d86ce0a5a88de360e8695
①ブラウザがURLを解析、 web.sfc.keio.ac.jp というサーバーに接続
②web.sfc.keio.ac.jpの中で起動しているwebサーバーアプリが通信を受領
③webサーバーアプリが ~/sakitsu を見て /home/sakitsu/public_html から探索開始
④webサーバーアプリが secret/hello.html を見て その中の secret/hello.html を探す
⑤webサーバーアプリが同じディレクトリに .htaccess という名前のファイルがあることを確認
⑥webサーバーアプリが中身を確認して「digest認証」をかける必要があることを知る
⑦webサーバーアプリがブラウザに「ログイン要求画面」を出す
⑧ブラウザがuserIDとpasswordをwebサーバーアプリに送る
⑨webサーバーアプリが受け取った
ユーザー名が .htaccess に記載されたものに一致するか
ユーザー名に対応するパスワードが /home/sakitus/.htdigest に記載されたものと一致するか
を検証
⑩ OKなら画面を描画して返す
https://gyazo.com/23fe0afb9ff8d884b90a8cba428dd712
上記を実現するために
htdigest -c /home/sakitsu/.htdigest secret sakitsu => .htdigestを生成
atomでhtaccessファイルを作成してcyberduckで転送 => .htaccess を生成
の2つをやっていただいた
今日からいよいよプログラミング (Python) の授業です
Pythonって…?
webシステム構築、機械学習、統計処理、ハードウェア制御
割と何でもできるプログラミング言語
強いて言うなら計算処理が得意という顔を持っている
手段を目的化することは難しいので…
講師用メモ:
cd ~/Workspace/github.com/AUTOMAT1111/stable-diffusion-webui
`./
https://gyazo.com/1dc1c9bcb571477168dffa89505d8bf1
はじめに
そのような場合、そもそもサポート外なため先生やTA・SAでも解決することは基本的に不可能です。 インストールしてない人はインストールするようにしてください。
プログラミングに向けた心構え
習うより慣れろ
講義形式で話をしますが、何よりも実際に動かして理解することが一番はやい
講義よりも実習を重視したスタイルで進めます
個別フォローが大事になるので、積極的に画面共有と質問を行いましょう
英語を読む努力
https://gyazo.com/1081a959d1fdf2c365b0226f4929db45
何らかのエラーが起こったときに、意外とエラーの英文が解決策を提示してくれていることが多々あります
英語にビビらず、よんでみてやってみれば解決することもあるので、一度英文の解釈を自分でトライしてみましょう
エラー内容をコピペしてググって調べれば何かしらは出てくるはず
講義パート
次週以降も小テストがあるのでご注意を!
今日起こりそうなエラー
NameError
a = 5 や name = '徳田'
のように一度定義してあげないと基本的にa, nameの変数を扱うことができません。
文字列に''をつけていない時もこれが出ます
IndentationError
name = 'とくだ'
print(name)
↑このような行の初めの変なスペースもpython ではダメ
SyntaxError
print(x
構文のエラー(,:など忘れてるかも
全角、半角にも注意しましょう。半角じゃないと動きません。
TypeError
x = 1
y='いち'
x=x+y
xはint型(数字), yはstr型(文字)。足し算はできません。
AttributeError
datetime や mathなどのライブラリを使っているときに変なことを書いていると出てきます。綴りや順番を確認しましょう。
実習パート
☆1〜☆3は必須で解くように
☆4,5は興味のある人向けのオプション課題です